Communication system, image processing apparatus, control method for image processing apparatus, and storage medium

ABSTRACT

A communication system includes an image processing apparatus, a supporting apparatus capable of providing the remote support service to a user of the image processing apparatus, and a management server configured to associate the image processing apparatus with the supporting apparatus providing the remote support to the image processing apparatus to manage the image processing apparatus and the supporting apparatus. Upon receipt of the remote support service start request from the user, the image processing apparatus requests a relay server to allocate relay information for communication via the relay server, and notifies the management server of the relay information allocated by the relay server. The management server notifies the supporting apparatus managed in association with the image processing apparatus of the relay information. Using the relay information enables the image processing apparatus and the supporting apparatus to communicate with each other to provide the remote support via the relay server.

CROSS REFERENCE TO RELATED APPLICATIONS

This application is a Continuation Application of U.S. patentapplication Ser. No. 14/690,301 filed on Apr. 17, 2015 which claims thebenefit of Japanese Patent Application No. 2014-087466 filed Apr. 21,2014, both of which are hereby incorporated by reference herein in theirentirety.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to a communication system, an imageprocessing apparatus, a control method for the image processingapparatus, and a storage medium.

2. Description of the Related Art

As troubleshooting of electrical products such as personal computers(PCs) and home electric appliances becomes more complicated, more usersask questions directly to call centers of sales companies ormanufactures.

As for an image forming apparatus, Japanese Patent Application Laid-OpenNo. 2005-208974 discusses remote support (remote maintenance) serviceperformed using audio and moving image communication, and remotecontrol.

In the remote support service, the image forming apparatus that receivesthe support and a PC of a call center that provides the support aregenerally inside a firewall. Since the firewall is configured to rejectconnection of a terminal outside thereof to a terminal inside thereof, aPC of a remote call center cannot be connected to the image formingapparatus.

Moreover, since a call center is generally run by each sales companyselling image forming apparatuses, each image forming apparatus needs toreceive remote support service from an appropriate call center that isrun by the corresponding sales company. More specifically, if a userperforms a remote support service start operation in the image formingapparatus, the user needs to notify the appropriate call centeraccordingly.

SUMMARY OF THE INVENTION

The present invention is directed to a technique capable of providingremote support service to an image processing apparatus by performing asimple operation.

According to an aspect of the present invention, a communication systemincludes an image processing apparatus, a supporting apparatus capableof providing remote support to the image processing apparatus, and amanagement server configured to associate the image processing apparatuswith the supporting apparatus for providing the remote support to theimage processing apparatus to manage the image processing apparatus andthe supporting apparatus. The image processing apparatus includes areceiving unit configured to receive a remote support service startrequest from a user, a request unit configured to, if the remote supportservice start request is received by the receiving unit, request a relayserver to allocate relay information for communication via the relayserver, and a first notification unit configured to notify themanagement server of the relay information allocated by the relay serverin response to the request from the request unit. The management serverincludes a second notification unit configured to notify the supportingapparatus managed in association with the image processing apparatus ofthe relay information notified by the first notification unit. The imageprocessing apparatus and the supporting apparatus communicate with eachother via the relay server by using the relay information, so that thesupporting apparatus provides remote support to the image processingapparatus.

Further features of the present invention will become apparent from thefollowing description of exemplary embodiments with reference to theattached drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a diagram illustrating an example of a system configuration ofa communication system for providing remote support service.

FIG. 2 is a block diagram illustrating a configuration of amultifunctional peripheral (MFP).

FIG. 3 is a block diagram illustrating configurations of a personalcomputer (PC), a relay server, and a management server.

FIG. 4 is a sequence diagram illustrating an example of processingperformed by the MFP, the PC, the relay server, and the managementserver according to a first exemplary embodiment.

FIG. 5 (consisting of FIGS. 5A and 5B) is a flowchart illustrating anexample of processing performed by the MFP according to the firstexemplary embodiment.

FIG. 6 is a flowchart illustrating an example of processing performed bythe PC according to the first exemplary embodiment.

FIG. 7 is a flowchart illustrating an example of processing performed bythe relay server according to the first exemplary embodiment.

FIG. 8 is a flowchart illustrating an example of processing performed bythe management server according to the first exemplary embodiment.

FIG. 9 is a diagram illustrating an MFP management table.

FIGS. 10A and 10B are diagrams each illustrating an example of a settingscreen of an MFP according to a second exemplary embodiment.

FIGS. 11A and 11B are diagrams each illustrating an example of a supportrequest screen of the MFP according to the second exemplary embodiment.

FIG. 12 is a diagram illustrating an example of a support uniformresource locator (URL) display screen of the MFP according to the secondexemplary embodiment.

FIG. 13 (consisting of FIGS. 13A and 13B) is a flowchart illustrating anexample of processing performed by the MFP according to the secondexemplary embodiment.

FIG. 14 is a sequence diagram illustrating an example of processingperformed by an MFP, a PC, a relay server, and a management serveraccording to a third exemplary embodiment.

FIG. 15 is a flowchart illustrating an example of processing performedby the PC according to the third exemplary embodiment.

FIG. 16 is a flowchart illustrating an example of processing performedby the management server according to the third exemplary embodiment.

DESCRIPTION OF THE EMBODIMENTS

Exemplary embodiments of the present invention will be described belowwith reference to the drawings.

FIG. 1 is a diagram illustrating an example of a system configuration ofa communication system capable of providing secure remote supportservice via a network.

A multifunctional peripheral (MFP) 100, serving as an image formingapparatus, is placed in a user environment 102 and operated by a user.The MFP 100 can access Internet 140. The image forming apparatus is anexample of an information processing apparatus.

A PC 110 is placed in a call center 112. The call center 112 is operatedby an operator. The PC 110 is an example of the information processingapparatus. The call center 112 is run by each sales company of the MFP100.

Assume that there is a plurality of user environments 102, call centers112, MFPs 100, and PCs 110. In the example diagram illustrated in FIG.1, an MFP 100-1 in a user environment 102-1 operated and maintained by acall center 112-1, and receives remote support from a PC 110-1.Similarly, an MFP 100-2 in a user environment 102-2 operated andmaintained by a call center 112-2, and receives remote support from a PC110-2. In FIG. 1, the MFPs 100 are placed in the user environments 102.Alternatively, other information processing apparatuses, for example,PCs, server apparatuses, and tablet terminals, may be placed in the userenvironment 102.

A firewall 101 is constructed in the user environment 102. A firewall111 is constructed in the call center 112. The firewall 101 permits aterminal inside the user environment 102 to be connected to the Internet140 using a hypertext transfer protocol (HTTP). On the other hand, thefirewall 101 rejects all connections from the Internet 140 side toterminals inside the user environment 102. The firewall 111 permits aterminal inside the call center 112 to be connected to the Internet 140using the HTTP, but rejects all connections from the Internet 140 toterminals inside the call center 112.

A relay server group 121 is a group of server computers for providingservice via the Internet 140. The relay server group 121 may include oneserver computer or a plurality of server computers. In FIG. 1, the relayserver group 121 includes one relay server apparatus (hereinafter calleda relay server) 120. The relay server 120 is an example of theinformation processing apparatus.

Each of the MFP 100 and the PC 110 has an HTTP client function, whereasthe relay server 120 has an HTTP server function. The HTTP is aclient/server protocol that is defined by a request for comment (RFC),for example by RFC 2616. The HTTP includes a plurality of methods.Generally, when a client receives information from a server, a GETmethod is used. When the client transmits information to the server, aPOST method is used. In a first exemplary embodiment, the use of the GETmethod and the POST method enables the MFP 100 and the PC 110 tocommunicate with each other. More specifically, when data such as amoving image, audio, and remote control information is transmitted fromthe PC 110 to the MFP 100, the PC 110 first transmits a POST request fordata to the relay server 120. Accordingly, the relay server 120 bufferssuch data in a random access memory (RAM) 313. Subsequently, when theMFP 100 transmits a GET request to the relay server 120, the relayserver 120 transmits the data buffered in the RAM 313 to the MFP 100 asa response. On the other hand, when data is transmitted from the MFP 100to the PC 110, the MFP 100 transmits a POST request for data to therelay server 120. Accordingly, the relay server 120 buffers such data inthe RAM 313. Subsequently, when the PC 110 transmits a GET request tothe relay server 120, the relay server 120 transmits the data bufferedin the RAM 313 to the PC 110 as a response. This enables the user of theMFP 100 to receive support from an operator by using audio, moving imagecommunication, or remote control even in the environment having thefirewalls 101 and 111. In the present exemplary embodiment, various datais transmitted and received between the PC 110 and the MFP 100, so thatthe operator of the PC 110 can support the user of the MFP 100. Suchvarious data is called “support data”.

Here, if the MFP 100 and the PC 110 transmit POST requests and GETrequests to the relay server 120, a common URL needs to be designated.Such a URL is called “a support URL”. The support URL serves as relayinformation needed for the MFP 100 and the PC 110 to communicate witheach other via the relay server 120.

The support URL needs to be common between the support target MFP 100and the PC 110 which provides the support. Thus, before the support datacommunication is started, the MFP 100 and the PC 110 need to have thecommon support URL. For example, if remote support for the MFP 100-1 isprovided from the call center 112-2, a support URL needs to be shared inadvance between the MFP 100-1 and the PC 110-1. This support URL must bedifferent from a support URL used for communication between the MFP100-2 and the PC 110-2. Moreover, since the number of support URLs whichcan be allocated by the relay server 120 is limited, a support URL isdesirably allocated each time the MFP 100 needs support, instead ofsetting a fixed support URL to the MFP 100 and the PC 110 beforehand.

For example, the support URL is expressed as follows:

http://xxxcallcenter.com;jsessionid=xxxxxxxxxxxxxxx?type=1 In thissupport URL, “;jsessionid” is session information used when the serveridentifies a client. Further, “type” is connection type information, andindicates a type of binary transfer or American Standard Code forInformation Interchange (ASCII) transfer. Moreover, the “type” can beused to define a parameter of a request number. For example, a URL thatcan identify a connection with the MFP 100 may be issued. In this case,if the PC 110 is connected to such a URL, the MFP 100 can be selected asa communication partner of the PC 110.

Accordingly, the present exemplary embodiment is described using anexample case in which a management server 130 is used so that a supportURL allocated by the relay server 120 is shared in advance between theMFP 100 and the PC 110 when support needs to be provided.

The management server 130 is located on the Internet 140 to collect andmanage information of the MFPs 100 placed in the respective userenvironments 102. The MFP 100 includes a module that monitors a statusof the MFP 100. The monitoring module notifies the management server 130of the status of the MFP 100 at predetermined timing. The managementserver 130 communicates with the monitoring module inside the MFP 100,thereby monitoring the information of each of the MFPs 100. Suchinformation of the MFPs 100 collected by the management server 130 iscalled management information. The management information includes, forexample, operation information such as a counter value, an operationlog, and a parts-counter value indicating consumption of each of parts,and failure information such as a hardware failure and a jam.

Moreover, the management server 130 manages which MFP 100 is operatedand maintained by which call center 112. In other words, the managementserver 130 manages each of the MFPs 100 by monitoring which MFP 100 isoperated and maintained by which sales company. An MFP management table131 is information indicating a correspondence relationship between theMFP 100 and the call center 112, and is retained by the managementserver 130. With the MFP management table 131, a usage state of each MFP100 and emergency contact information for each MFP 100 in case offailure can be provided to the appropriate call center 112. Morespecifically, when an operator of the management server 130 logs in tothe management server 130, the management information collected from amonitoring target MFP 100 is displayed on a display unit. This enablesthe operator to monitor a state of the MFP 100. Moreover, informationwith a high level of urgency such as information of a service call errorand a hardware failure is transmitted by electronic mail (email) to anotification destination indicated in the MFP management table 131, sothat the corresponding call center 112 is notified accordingly. The MFPmanagement table 131 will be described in detail with reference to FIG.9.

In the present exemplary embodiment, the support URL allocated when theMFP 100 is connected to the relay server 120 is notified to themanagement server 130 as event information. The management server 130notifies the PC 110 in the call center 112 operating and maintaining theMFP 100 of the support URL by using the MFP management table 131.Therefore, the support URL is shared between the support target MFP 100and the PC 110 which provides the support.

FIG. 2 is a diagram illustrating an example of a hardware configurationof the MFP 100.

A control unit 210 including a central processing unit (CPU) 211comprehensively controls operations of the MFP 100. The CPU 211 executesa program stored in a read only memory (ROM) 212 or a hard disk drive(HDD) 214, thereby performing functions of the MFP 100, processing forthe MFP 100 in a sequence diagram (described below), and processingrelating to the MFP 100 in a flowchart (described below). Herein, oneCPU 211 uses one memory (a RAM 213 or the HDD 214) to perform thefunctions of the MFP 100, the processing for the MFP 100 in the sequencediagram, and the processing relating to the MFP 100 in the flowchart.However, another configuration may be employed. For example, a pluralityof CPUs may use a plurality of RAMs or HDDs to perform the functions ofthe MFP 100, the processing for the MFP 100 in the sequence diagram, andthe processing relating to the MFP 100 in the flowchart.

The ROM 212 stores various programs to be executed by the CPU 211. TheRAM 213 is used as a main memory and a temporary storage area such as awork area of the CPU 211. The HDD 214 stores image data and variousprograms. An operation unit interface (I/F) 215 connects an operationunit 219 and the control unit 210. The operation unit 219 includes aliquid crystal display unit having a touch panel function, and akeyboard.

A printer I/F 216 connects a printer 220 and the control unit 210. Thecontrol unit 210 transmits image data to be printed to the printer 220via the printer I/F 216. The printer 220 prints the image data, whichhas been received from the control unit 210 via the printer I/F 216, ona recording medium.

A scanner I/F 217 connects a scanner 221 and the control unit 210. Thescanner 221 reads an image on a document to generate image data (imagefile), and inputs the image data to the control unit 210 via the scannerI/F 217. The MFP 100 can transmit the image data (image file) generatedby the scanner 221 by file transmission or email.

A network I/F 218 connects the control unit 210 to the Internet 140.

FIG. 3 is a diagram illustrating an example of a hardware configurationof the PC 110.

A control unit 310 including a CPU 311 comprehensively controlsoperations of the PC 110. The CPU 311 executes a program stored in a ROM312 or an HDD 314 to perform functions of the PC 110, processing for thePC 110 in the sequence diagram (described below), and processingrelating to the PC 110 in a flowchart (described below). The ROM 312stores various programs to be executed by the CPU 311. The RAM 313 isused as a main memory and a temporary storage area such as a work areaof the CPU 311. The HDD 314 stores image data and various programs.

An operation unit I/F 315 connects an operation unit 317 and the controlunit 310. The operation unit 317 includes a liquid crystal display unithaving a touch panel function, a keyboard, and a mouse. A network I/F316 connects the control unit 310 to the Internet 140.

A hardware configuration of the relay server 120 is similar to that ofthe PC 110. In other words, a CPU 311 of the relay server 120 executes aprogram stored in a ROM 312 or an HDD 314 of the relay server 120.Accordingly, the relay server 120 performs functions thereof, processingtherefor in the sequence diagram (described below), and processingrelating thereto in a flowchart (described below).

FIG. 4 is a sequence diagram illustrating an example of processingperformed by the MFP 100, the PC 110, the relay server 120, and themanagement server 130.

In step S401, when a user performs a support start operation using theoperation unit 219 of the MFP 100, the MFP 100 performs connectionprocessing to the relay server 120. More specifically, when the userinputs authentication information via the operation unit 219, the relayserver 120 performs authentication using the information. When theauthentication has succeeded, the MFP 100 is connected to the relayserver 120. That is, the connection processing is completed. In stepS402, the MFP 100 transmits a support URL request to the relay server120. In step S403, the relay server 120 allocates a support URLaccording to the request from the MFP 100. In step S404, the relayserver 120 transmits the allocated support URL to the MFP 100.

In step S405, the MFP 100 transmits an entry request to the support URL.Upon receipt of the entry request to the support URL, the relay server120 buffers the information of the MFP 100 in the RAM 313 as aparticipant.

In step S406, the MFP 100 regularly transmits a GET request forparticipant information to the relay server 120. That is, the MFP 100starts polling of a GET request for participant information. Uponreceipt of the GET request for the participant information to thesupport URL, the relay server 120 replies to the requestor with theupdated participant information buffered in the RAM 313. Moreover, uponreceipt of an exit request to the support URL in step S415, the relayserver 120 deletes the corresponding information from the participantinformation buffered in the RAM 313.

In step S407, the MFP 100 transmits the support URL allocated by therelay server 120 and identification information thereof to themanagement server 130. The MFP identification information is uniqueinformation in the world to identify the MFP 100.

In step S408, the management server 130 identifies the call center 112which operates and maintains the MFP 100 based on the MFP managementtable 131, and transmits the support URL and a management server URL tothe corresponding PC 110 by email. The use of the email enablesinformation needed for the support to be notified to the PC 110 from themanagement server 130 even in the environment with the firewall 111. Inthe description below, the email is used for notification. However,other protocols may be used. For example, polling from the PC 110 to themanagement server 130 may be performed to pass the firewall 111, so thatdata can be acquired from the management server 130.

The management server URL is used to access the management server 130.When an external apparatus accesses the management server URL, theexternal apparatus can acquire information managed by the managementserver 130.

In step S409, upon receipt of the support URL from the management server130, the PC 110 transmits an entry request to the support URL. In stepS410, the relay server 120 buffers the information of the PC 110 as aparticipant in the RAM 213. Moreover, the relay server 120 transmits theparticipant information to the MFP 100 as a response to the GET requestfor participant information received in step S406 from the MFP 100.Thus, the MFP 100 can recognize that the PC 110 has been selected as anapparatus that supports the MFP 100.

In step S411, the MFP 100 regularly transmits a POST request and a GETrequest to the allocated support URL. Meanwhile, in step S412, the PC110 regularly transmits a POST request and a GET request to theallocated support URL. With steps S411 and S412, the MFP 100 and the PC110 communicate with each other to exchange the support data via therelay server 120. For example, in case of a failure such as a jam in theMFP 100, a user may not be able to restore the MFP 100 from the failure.In such a case, failure information is notified by the MFP 100 to anoperator in the call center 112 to find a cause of the failure. In thiscase, the MFP 100 transmits a POST request for the informationindicating the failure to the support URL, and the relay server 120stores such information in the RAM 313. Then, the PC 110 in the callcenter 112 transmits a GET request to the support URL, and the relayserver 120 transmits the information stored in the RAM 313 to the PC 110as a response. The operator in the call center 112, who has found thecause of the failure based on the information transmitted from the MFP100, uses a moving image to inform the user of the MFP 100 of a methodfor cancelling the error. In this case, the operator in the call center112 operates the PC 110 to transmit a POST request for moving image datato the support URL, and the relay server 120 stores the moving imagedata to the RAM 313. Subsequently, the MFP 100 transmits a GET requestto the support URL, and the moving image data stored in the RAM 313 ofthe relay server 120 is transmitted to the MFP 100.

As described above, the management server 130 manages variousinformation including an error history of the MFP 100. In step S413, thePC 110 is connected to the management server URL transmitted from themanagement server 130 in step S408. Accordingly, in step S414, the PC110 acquires the information of the MFP 100. Thus, when supporting theMFP 100, the operator can refer to, for example, a history of pasterrors.

In step S415, after the support from the operator is finished, the MFP100 transmits an exit request to the support URL. Meanwhile, in stepS416, the PC 110 transmits an exit request to the support URL. In stepS417, the relay server 120 cancels the allocation of the support URLwhich is no longer needed.

FIG. 5 (consisting of FIGS. 5A and 5B) is a flowchart illustrating anexample of processing performed by the MFP 100. Each operation (step) ofthe flowchart illustrated in FIG. 5 is performed by the CPU 211 of theMFP 100 executing the control program stored in the HDD 214.

In step S501, the MFP 100 detects an error therein. In step S502, theMFP 100 transmits error information to the management server 130. TheMFP 100 may classify an error according to a level of importance oremergency, and transmit a message only when the error is classified as ahigh level.

In step S503, the MFP 100 determines whether the user has input a remotesupport start request from the operation unit 219. If the remote supportstart request has been input from the operation unit 219 (YES in stepS503), the processing proceeds to step S504. In step S504, the MFP 100performs connection processing to the relay server 120. In step S505,the MFP 100 determines whether the connection to the relay server 120has succeeded. If the connection to the relay server 120 has succeeded(YES in step S505), the processing proceeds to step S506. In step S506,the MFP 100 transmits a support URL request to the relay server 120.Subsequently, in step S507, the MFP 100 receives the support URLallocated by the relay server 120 in response to the request.

In step S508, upon receipt of the support URL, the MFP 100 transmits anentry request to the support URL. In step S509, the MFP 100 startspolling of a GET request for participant information to the support URL.

Moreover, in step S510, the MFP 100 transmits MFP identificationinformation and the support URL to the management server 130. If thetransmission of the MFP identification information and the support URLhas succeeded (YES in step S511), the processing proceeds to step S512.In step S512, the MFP 100 receives the participant information as aresponse to the GET request from the relay server 120. Accordingly, theMFP 100 can identify the PC 110 which supports the MFP 100.

In step S513, after identifying the PC 110 which provides the support,the MFP 100 starts polling of a POST request and a GET request forsupport data to the support URL via the relay server 120. Morespecifically, as described above, the MFP 100 transmits a POST requestand a GET request for support data to the support URL, thereby receivingthe support data transmitted from the PC 110 and transmitting thesupport data to the PC 110.

In step S514, after the support from the PC 110 is finished, the MFP 100determines whether the user has input a support end request from theoperation unit 219. If the user has input the support end request fromthe operation unit 219 (YES in step S514), the processing proceeds tostep S515. In step S515, the MFP 100 transmits an exit request to thesupport URL.

If the connection to the relay server 120 has failed (NO in step S505),the processing proceeds to step S516. In step S516, the MFP 100 notifiesthe management server 130 of the failure of connection to the relayserver 120. If the transmission of the connection failure notificationto the management server 130 has succeeded (YES in step S517), theprocessing proceeds to step S518. In step S518, the MFP 100 displays amessage on the operation unit 219, the message indicating that the callcenter 112 has been notified.

If the transmission of the connection failure notification to themanagement server 130 has failed (NO in step S517), the processingproceeds to step S519. In step S519, the MFP 100 displays a telephonenumber of the call center 112 and a message, such as “please call thecall center”, on the operation unit 219. Then, the processing ends. Ifthe transmission to the management server 130 has failed (NO in stepS511), the processing proceeds to step S520. In step S520, the MFP 100displays the support URL, a telephone number of the call center 112, anda message for prompting the user to contact the call center 112 on theoperation unit 219. Then, the processing ends.

FIG. 6 is a flowchart illustrating an example of processing performed bythe PC 110. Each operation (step) of the flowchart illustrated in FIG. 6is performed by the CPU 311 of the PC 110 executing the control programstored in the HDD 314.

In step S601, the PC 110 receives a support URL and a management serverURL transmitted from the management server 130 by email. In step S602,the PC 110 displays the support URL and the management server URL on anoperation unit 317. The PC 110 may display information of the receivedemail as it is on the operation unit 317, or as an application screen.

In step S603, the PC 110 determines whether an operator has input asupport URL connection instruction from the operation unit 317. If thesupport URL connection instruction has been input (YES in step S603),the processing proceeds to step S604. In step S604, the PC 110 transmitsan entry request to the support URL.

In step S605, the PC 110 starts polling of a POST request and a GETrequest for support data to the support URL via the relay server 120.More specifically, as described above, the PC 110 transmits a POSTrequest and a GET request for support data to the support URL, therebyreceiving the support data transmitted from the MFP 100 and transmittingthe support data to the MFP 100. Therefore, the operator can support theuser of the MFP 100 by using audio, moving image communication, orremote control.

In step S606, the PC 110 determines whether a connection instruction tothe management server URL has been input from the operation unit 317. Ifthe management server URL connection instruction has been input from theoperation unit 317 (YES in step S606), the processing proceeds to stepS607. In step S607, the PC 110 transmits an MFP information request tothe management server URL. In step S608, the PC 110 receives the MFPinformation transmitted from the management server 130 in response tothe request. In step S609, the PC 110 displays the MFP information onthe operation unit 317. Accordingly, when supporting the MFP 100, theoperator can refer to, for example, a history of past errors.

In step S610, after the support of the MFP 100 is finished, the PC 110determines whether a support end request has been input from theoperation unit 317. If the support end request has been input from theoperation unit 317 (YES in step S610), the processing proceeds to stepS611. In step S611, the PC 110 transmits an exit request to the supportURL.

FIG. 7 is a flowchart illustrating an example of processing performed bythe relay server 120. Each operation (step) of the flowchart illustratedin FIG. 7 is performed by the CPU 311 of the relay server 120 executingthe control program stored in the HDD 314.

In step S701, the relay server 120 determines whether a connectionrequest has been received from the MFP 100. In step S702, after beingconnected to the MFP 100, the relay server 120 receives a support URLrequest from the MFP 100. In step S703, the relay server 120 allocates asupport URL. Among a plurality of predetermined URLs, the relay server120 may allocate a URL that is not currently used as a support URL.Alternatively, the relay server 120 may newly generate a support URL inresponse to the request from the MFP 100.

In step S704, the relay server 120 transmits the allocated support URLto the MFP 100. Subsequently, in step S705, the relay server 120receives an entry request to the support URL from the MFP 100. In stepS706, the relay server 120 receives a GET request for participantinformation from the MFP 100. In step S707, the relay server 120receives an entry request to the support URL from the PC110. Then instep S708, the relay server 120 transmits the participant information tothe MFP 100 as a response to the GET request. This enables support datato be transmitted and received between the MFP 100 and the PC 110 viathe relay server 120.

If the relay server 120 has received a POST request for the support datafrom the MFP 100 or the PC 110 (YES in step S709), the processingproceeds to step S710. In step S710, the relay server 120 stores thesupport data in the RAM 313. If the relay server 120 has received a GETrequest for the support data from the MFP 100 or the PC 110 (YES in stepS711), the processing proceeds to step S712. In step S712, the relayserver 120 transmits the support data stored in the RAM 313 to therequestor. This enables the support data to be transmitted and receivedbetween the MFP 100 and the PC 110, so that the operator can support theuser with such data. After the support is finished, the relay server 120determines whether exit requests to the support URL has been receivedfrom the MFP 100 and the PC 110. If the exit requests to the support URLhave been received from the MFP 100 and the PC 110 (YES in step S713),the processing proceeds to step S714. In step S714, the relay server 120cancels the allocation of the support URL.

FIG. 8 is a flowchart illustrating an example of processing performed bythe management server 130. Each operation (step) of the flowchartillustrated in FIG. 8 is performed by the CPU 311 of the managementserver 130 executing the control program stored in the HDD 314.

In step S801, the management server 130 determines whether MFPidentification information and a support URL have been received from theMFP 100. If the MFP information and the support URL have been received(YES in step S801), the processing proceeds to step S802. In step S802,the management server 130 identifies the PC 110 in the call center 112corresponding to the MFP 100 based on the MFP management table 131, andtransmits the support URL and a management server URL to the PC 110.

FIG. 9 is a detailed diagram illustrating the MFP management table 131stored in the HDD 314 of the management server 130. The MFP managementtable 131 includes MFP identification (ID) 910, user (customer) ID 920,call center ID 930, and support ID 940. The MFP ID 910 is identificationinformation so that each of the MFPs 100 is uniquely identified. The MFPID 910 corresponds to the MFP identification information transmittedfrom the MFP 100 to the management server in step S407 of the sequencediagram illustrated in FIG. 4. A name 911 indicates information about aproduct name of the MFP 100. Report ID 912 is information whichidentifies a past report on the MFP 100. A plurality of report ID 912may be provided depending on the number of reports. Reporting date andtime 913 is information about a date and time on which the report isgiven. A content 914 is information about a content of the report. Astatus 915 is information about a status of the report. The information912 through 915 corresponds to the MFP information transmitted to the PC110 from the management server 130 in step S414 of the sequence diagramillustrated in FIG. 4.

The user ID 920 is information used to identify a user of the MFP 100. Aname 921 is information about a name of the user.

The call center ID 930 is information used to identify a call centerthat operates and maintains the MFP 100. A name 931 indicates a name ofthe call center, whereas an email address 932 is information about anemail address of the call center. The email address 932 is used as atransmission destination of the email described in step S408 of thesequence diagram illustrated in FIG. 4.

The support ID 940 is information used to identify a support operation.In step S407 of the sequence diagram illustrated in FIG. 4, the supportID 940 is updated when the MFP identification information and thesupport URL are transmitted from the MFP 100 to the management server130. A support URL 941 is information about a support URL.

Accordingly, the management server 130 manages the MFP 100, the userusing the MFP 100, and the call center 112 operating and maintaining theMFP 100 by associating them with one another. Thus, even if a userissues a support start instruction from any of the MFP 100s, information(e.g., support URL) needed for the support can be notified to anappropriate call center as long as the MFPs 100 are under the managementof the management server 130.

The description goes back to FIG. 8. In step S803, the management server130 determines whether an MFP information request to the managementserver URL has been received from the PC 110. If the MFP informationrequest has been received (YES in step S803), the processing proceeds tostep S804. In step S804, the management server 130 transmits the MFPinformation to the PC 110.

Therefore, according to the present exemplary embodiment, the MFP 100notifies the management server 130 of the support URL allocated by therelay server 120, whereas the management server 130 notifies the PC 110on the appropriate call center 112 side of the allocated support URL.Thus, if the user of the MFP 100 issues only a support startinstruction, the PC 110 and the MFP 100 can communicate with each othervia the relay server 120. This enables the user of the MFP 100 toreceive remote support service.

The MFP 100 keeps producing a dial tone for a time period from when theremote support service start request is received from the user in stepS503 of the flowchart illustrated in FIG. 5 until when the support isstarted by the PC 110 in step S513. For example, a time period from whenthe PC 110 receives the support URL until when the operator performs theconnection start operation may be prolonged. In such a case, the dialtone continues during the time period. This may cause the user to feelthat the waiting time is long.

Accordingly, in step S503 in FIG. 5, the MFP 100 determines whether aremote support start request has been input from the operation unit 219.If the remote support start request has been input from the operationunit 219 (YES in step S503), the processing from steps S504 to S512 isexecuted. In step S512, the MFP 100 receives the participant informationfrom the relay server 120. Subsequently, the MFP 100 may switch adisplay of the operation unit 219 when the PC 110 serving as a supporteris determined, and may start support data communication when a supportstart instruction is received from the user.

Next, a second exemplary embodiment of the present invention will bedescribed. In the first exemplary embodiment, all the MFPs 100 aremanaged by the management server 130 while receiving monitoring servicesfrom the management server 130. However, all of the MFPs 100 may notalways be receiving the monitoring services performed from themanagement server 130. The present exemplary embodiment is describedusing a method by which a support URL can be notified to a PC 110 evenwhen an MFP 100 is not receiving monitoring service from a managementserver 130.

FIGS. 10A and 10B are examples of setting screens of the MFP 100. Aservice person usually displays screens 1001 and 1011 to set servicesettings when installing the MFP 100. In general, a user of the MFP 100does not display or operate these screens 1001 and 1011.

The screen 1001 illustrated in FIG. 10A is a screen to set a servicesetting to receive support from a remote operator. An input item 1002 isused to enable a remote support service function from the operator. Ifthe item 1002 is enabled, the user of the MFP 100 can receive the remotesupport service from the operator. While the item 1002 is enabled, asupport request screen as illustrated in FIG. 11A is displayed on a userscreen of the MFP 100. An item 1003 is used to set a transmissioncontrol protocol (TCP) port number that is used for connection to arelay server 120. An item 1004 indicates a connection URL for connectingto the relay server 120. The service person sets the connection URL ofthe relay server 120 when installing the MFP 100, for example. When theMFP 100 is connected to the relay server 120 using the connection URL,the MFP 100 receives a support URL from the relay server 120 by themethod described above. An item 1005 is used to instruct the relayserver 120 to execute a communication test. When the MFP 100 isinstalled, the service person uses the communication test function ofthe item 1005 to check whether the support service function from theremote operator functions effectively. An item 1006 is a button to bepressed to check a communication log. When the button of the item 1006is pressed, communication records including a record of thecommunication test with the relay server 120 can be checked. An item1007 indicates an email address serving as a transmission destination towhich a support URL is to be transmitted. An email address of the callcenter 112 is normally set in the item 1007. When the user issues asupport start instruction on the support request screen illustrated inFIG. 11A, the MFP 100 is connected to the relay server 120 to transmitinformation of a support URL allocated by the relay server 120 to theset email address.

The screen 1011 is a screen to set monitoring services to be performedby the management server 130. An input item 1012 is used to enable amonitoring service function. If the item 1012 is enabled, the MFP 100can receive the monitoring service from the management server 130 in aremote location. Thus, the MFP 100 can regularly transmit, for example,information about a counter and firmware to the management server 130.Moreover, the MFP 100 can irregularly transmit event information such asa service call error and a jam to the management server 130. An item1013 is used to set a TCP port number that is used when the MFP 100 isconnected to the management server 130. An item 1014 indicates atransmission destination URL to which monitoring information of themanagement server 130 is transmitted. In a case where this URL needs tobe changed, the service person can make a change in the item 1014. Items1015 and 1016 respectively provide a communication test function and acommunication log function to the management server 130, as similar tothe items 1005 and 1006.

The processing described in the first exemplary embodiment can beperformed by enabling the support service function to be performed bythe remote operator and the monitoring service function from the settingscreens 1001 and 1011. On the other hand, in a case where the user doesnot receive the monitoring service, the MFP 100 does not communicatewith the management server 130. Consequently, the above-described methodcannot be used. Even in such a case, the email address of the operatorin the item 1007 is used to notify the PC 110 of the support URL.

If the monitoring service function is disabled from the setting screen1011, the support URL is not notified via the management server 130. Inthis case, the email address of the operator in the item 1007 isnecessary. On the other hand, if the monitoring service function isenabled, the support URL is notified via the management server 130.Thus, the email address of the operator in the item 1007 is notnecessary. Therefore, when the monitoring service function is enabled,the item 1007 may be controlled such that an email address of theoperator cannot be input.

FIG. 11A is an example of a support request screen displayed to receivea remote support service start request from the user. When the remotesupport service function is enabled by using the input item 1002, thescreen illustrated in FIG. 11A can be displayed as one of user screens.When the user presses an “ISSUE SUPPORT REQUEST” button on the screenillustrated in FIG. 11A, the MFP 100 is connected to the relay server120 to acquire the support URL from the relay server 120. The MFP 100transmits the acquired support URL to the PC 110 which is operated bythe operator in the call center 112.

However, the user may use the MFP 100 for a long time. In such a case,the email address of the operator, which is set on the setting screenfor the remote support service function, may not be used any more.Therefore, the support URL cannot be notified to the operator unless theemail address is updated properly. Moreover, a user may intend toreceive remote support from a specific person. For example, whileworking on maintenance of the MFP 100, a service person may need supportfrom a high-skilled engineer in a remote location or may need to ask asimple question to an in-house MFP operator. The screen illustrated inFIG. 11A includes an input item of “DESIGNATED NOTIFICATION DESTINATION”to optionally designate a notification destination of the support URLfor such a situation. When an email address of a partner who providesthe support is input to the “DESIGNATED NOTIFICATION DESTINATION” inputitem, the support URL is notified to the designated email address.Alternatively, when an icon in this input item is pressed, anotification destination may be selected from an address book managedinside the MFP 100. FIG. 11B illustrates an example of the screen onwhich an email address is input in the “DESIGNATED NOTIFICATIONDESTINATION” item.

FIG. 12 is a diagram illustrating an example of a screen that displays asupport URL on a user screen of the MFP 100. As described above, whenthe MFP 100 receives a support URL from the relay server 120, thesupport URL is transmitted to the set email address as a destination.However, a failure may occur in an intermediate mail transfer agent(MTA), or email transmission may be delayed. In such a case, theoperator cannot receive the support URL. Consequently, the PC 110 cannotbe connected to the relay server 120. In preparation for such a case,the user needs to be able to check the support URL, which has beenallocated by the relay server 120, on the screen. With the preparation,even if an email is not delivered to the operator, the support URL maybe informed by telephone, for example. This enables the MFP 100 and thePC 110 to communicate with each other via the relay server 120.Alternately, telephone number of the call center and a message forprompting a user to contact the phone number may be displayed togetherwith the support URL.

FIG. 13 (consisting of FIGS. 13A and 13B) is a flowchart illustrating anexample of processing performed by the MFP 100. The same step numbersare given for the processing which is substantially the same as thatillustrated in FIG. 5, and description thereof is omitted.

After step S509, the processing proceeds to step S1301 in which the MFP100 determines whether there is a designated notification destination onthe screen illustrated in FIG. 11A or 11B. If there is a designatednotification destination (YES in step S1301), then in step S1303, theMFP 100 transmits the support URL to the designated notificationdestination by email. If there is no designated notification destination(NO in step S1301), then in step S1302, the MFP 100 determines whether amonitoring service function is enabled. In other words, the MFP 100determines whether the item 1012 on the screen illustrated in FIG. 10Bis enabled. If the monitoring service function is not enabled (NO instep S1302), the processing proceeds to step S1304. In step S1304, theMFP 100 transmits the support URL by email to the email address of thecall center 112, which has been set in the item 1007 on the screenillustrated in FIG. 11A, as a destination. If the monitoring servicefunction is enabled (YES in step S1302), the processing proceeds to stepS510 and then the processing of steps S510 through S520 described abovein the first exemplary embodiment is performed.

In step S1305, after transmitting the support URL to the designatednotification destination or the call center 112 by email, the MFP 100checks whether the transmission of email has succeeded. If the emailtransmission has succeeded (YES in step S1305), the processing in stepS512 and subsequent steps is performed. If the email transmission hasfailed (NO in step S1305), the processing proceeds to step S520. In stepS520, the MFP 100 displays the support URL on the operation unit 219 asillustrated in FIG. 12 to prompt the user to contact the call center112.

According to the present exemplary embodiment, even if the MFP 100 doesnot receive the monitoring service function from the management server130, the MFP 100 can receive remote support service from the PC 110 inthe call center 112. Therefore, the user of the MFP 100 only has toperform the remote support service start operation to receive the remotesupport service without the need to consider whether the MFP 100 isunder the management of the management server 130.

Moreover, the user can designate an email address of a desired partnerto receive remote support service from the partner. This enhancesusability for the user.

Next, a third exemplary embodiment is described. In the first exemplaryembodiment, the management server 130 transmits the support URL to thePC 110 in the call center 112 by email. The present exemplary embodimentis described using an example case in which a PC 110 regularly transmitsan inquiry (performs polling) to a management server 130 to acquire asupport URL. In this case, the shorter the polling cycle, the greaterthe load of the management server 130. Moreover, the longer the pollingcycle, the longer the time needed for the PC 110 to acquire the supportURL. This causes a user to wait for a longer time. In the presentexemplary embodiment, the polling cycle is shortened at specific timing,thereby reducing a load of the management server 130 and preventing theuser from waiting for a longer time.

FIG. 14 is a sequence diagram illustrating an example of processingperformed by an MFP 100, the PC 110, a relay server 120, and themanagement server 130 according to the present exemplary embodiment.

In step S1401, the MFP 100 detects an error. In step S1402, the MFP 100notifies the management server 130 of error information indicating thatthe error has occurred and a content of the error. The MFP 100 mayclassify the error according to a level of importance or emergency, andtransmit a message only when the error is classified as a high level.

In step S1403, upon receipt of the error notification from the MFP 100,the management server 130 transmits the error information to the PC 110.In step S1404, upon receipt of the error information, the PC 110shortens a polling cycle for the management server 130 to a cycleshorter than a normal cycle. Since processing in steps S1405 throughS1411 is similar to that in steps S401 through S407 of the sequencediagram t illustrated in FIG. 4, description thereof is omitted.

In step S1411, the management server 130 receives the support URL fromthe MFP 100. In step S1412, the management server 130 transmits thesupport URL and the management server URL to the PC 110 as a response tothe inquiry from the PC 110. In step S1413, upon receipt of the supportURL and the management server URL from the management server 130, the PC110 returns the polling cycle to the normal cycle. Since the processingperformed after step S1414 is similar to that performed after step S409of the sequence diagram illustrated in FIG. 4, description thereof isomitted.

FIG. 15 is a flowchart illustrating an example of processing performedby the PC 110 according to the third exemplary embodiment.

The PC 110 regularly transmits an inquiry (performs polling) about asupport URL to the management server 130. In step S1501, the PC 110acquires error information of the MFP 100 from the management server130. In step S1502, the PC 110 shortens a polling cycle for themanagement server 130. Subsequently, in step S1503, the PC 110 receivesa support URL and a management server URL from the management server130. Then in step S1504, the PC 110 returns the polling cycle for themanagement server 130 to the normal cycle. Since the processing in stepS1505 through step S1515 is similar to that in steps S601 through S611of the flowchart illustrated in FIG. 6, description thereof is omitted.

FIG. 16 is a flowchart illustrating an example of processing performedby the management server 130 according to the present exemplaryembodiment.

In step S1601, the management server 130 receives error information fromthe MFP 100. In step S1602, the management server 130 transmits theerror information to the PC 110. Subsequently, if the management server130 has received MFP identification information and a support URL fromthe MFP 100 (YES in step S1603), the processing proceeds to step S1604.In step S1604, the management server 130 transmits the support URL and amanagement server URL to the PC 110 as a response to the inquiry fromthe PC 110. Since processing in steps S1605 and S1606 is similar to thatin steps S803 and S804 of the flowchart illustrated in FIG. 8,description thereof is omitted.

In the above description, the PC 110 changes a polling cycle for themanagement server 130 when an error occurs in the MFP 100. However, thepolling cycle may be changed at different timing. For example, thepolling cycle may be changed when a user logs in to the MFP 100. In sucha case, the MFP 100 notifies the management server 130 that the user haslogged in, and the management server 130 transfers the notification tothe PC 110. Alternatively, when the support request screen (e.g., FIG.11A or 11B) is displayed on the MFP 100, the PC 110 may be notifiedaccordingly via the management server 130. In such a case, the PC 110may shorten the polling cycle upon receipt of the notification.

According to the present exemplary embodiment, therefore, the pollingcycle of the PC 110 is shortened at the time when the user is morelikely to perform a remote support service start operation. This canreduce a load of the management server 130 while preventing the userfrom waiting for a longer time even if the polling is used.

According to each of the above exemplary embodiments, the MFP 100 andthe PC 110 can readily share the support URL needed for communicationvia the relay server 120 by using the management server 130 whichmanages the MFP 100 and the PC 110 by associating with each other. Thus,if the user of the MFP 100 issues only a remote service start request asnecessary, the MFP 100 becomes communicable with the PC 110 in the callcenter 112 which manages the MFP 100. This enables the user of the MFP100 to receive remote support.

Each of the above exemplary embodiments has been described using a casewhere the MFP 100 including a scanner function and a print function isremotely supported. However, each of the exemplary embodiments of thepresent invention may be applied to an image processing apparatusincluding only one of the scanner and print functions. Moreover, each ofthe exemplary embodiments of the present invention may be applied toother information processing apparatuses such as a facsimile machine, acamera, a video camera, and an image viewer.

Moreover, aspects of the present invention can be achieved by thefollowing processing. More specifically, software (program) forperforming the functions of the above-described embodiments is suppliedto a system or an apparatus via a network or various storage media, andthen a computer (or CPU or microprocessor unit (MPU)) of such a systemor apparatus reads a program code to execute the functions. In such acase, the aspect of the present invention includes the computer programand a storage medium storing the computer program.

According to the above exemplary embodiments of the present invention, auser of the image forming apparatus issues a remote support servicestart request, so that the image forming apparatus and an appropriateinformation processing apparatus can communicate with each other via anrelay server.

Embodiment(s) of the present invention can also be realized by acomputer of a system or apparatus that reads out and executes computerexecutable instructions (e.g., one or more programs) recorded on astorage medium (which may also be referred to more fully as a‘non-transitory computer-readable storage medium’) to perform thefunctions of one or more of the above-described embodiment(s) and/orthat includes one or more circuits (e.g., application specificintegrated circuit (ASIC)) for performing the functions of one or moreof the above-described embodiment(s), and by a method performed by thecomputer of the system or apparatus by, for example, reading out andexecuting the computer executable instructions from the storage mediumto perform the functions of one or more of the above-describedembodiment(s) and/or controlling the one or more circuits to perform thefunctions of one or more of the above-described embodiment(s). Thecomputer may comprise one or more processors (e.g., central processingunit (CPU), micro processing unit (MPU)) and may include a network ofseparate computers or separate processors to read out and execute thecomputer executable instructions. The computer executable instructionsmay be provided to the computer, for example, from a network or thestorage medium. The storage medium may include, for example, one or moreof a hard disk, a random-access memory (RAM), a read only memory (ROM),a storage of distributed computing systems, an optical disk (such as acompact disc (CD), digital versatile disc (DVD), or Blu-ray Disc (BD)™),a flash memory device, a memory card, and the like.

While the present invention has been described with reference toexemplary embodiments, it is to be understood that the invention is notlimited to the disclosed exemplary embodiments. The scope of thefollowing claims is to be accorded the broadest interpretation so as toencompass all such modifications and equivalent structures andfunctions.

1. A method for performing communication via a relay server for remotesupport to be provided between a supporting apparatus and a supportedapparatus via a network, the method comprising: receiving, by thesupported apparatus, a remote support service start request from a user;requesting, from the supported apparatus to the relay server, toallocate relay information for performing communication via the relayserver according to the supported apparatus having received the receivedremote support service start request; determining a supporting apparatusfor providing remote support for the supported apparatus; and notifyingthe determined supporting apparatus of the relay information allocatedby the relay server according to the request; wherein the supportedapparatus and the supporting apparatus perform communication with eachother via the relay server using the relay information, so that thesupported apparatus is provided with the remote support by thesupporting apparatus.
 2. The method according to claim 1, wherein therelay information is a uniform resource locator (URL) designated when arequest using a hypertext transfer protocol (HTTP) is transmitted. 3.The method according to claim 2, wherein the relay server, if a POSTrequest including the designated URL is received from either thesupported apparatus or the supporting apparatus, stores data included inthe POST request, and, if an GET request including the designated URL isreceived from either the supported apparatus or the supportingapparatus, transmits the stored data to a requestor.
 4. The methodaccording to claim 1, wherein the relay information allocated by therelay server is notified to the supporting apparatus via a managementserver managing the supported apparatus and the supporting apparatus byassociating them with each other.
 5. The method according to claim 1,wherein the relay information allocated by the relay server is notifiedfrom the supported apparatus to the supporting apparatus.
 6. The methodaccording to claim 1, wherein the relay information is notified to thesupporting apparatus by electric mail.
 7. The method according to claim1, wherein the relay information is notified to the supporting apparatusas a response to a regular inquiry from the supporting apparatus.
 8. Asupported apparatus capable of receiving remote support from asupporting apparatus, the supported apparatus comprising: a receivingunit configured to receive a remote support service start request from auser; a request unit configured to, according to the receiving unithaving received the remote support service start request, request arelay server to allocate relay information for performing communicationvia the relay server; a notification unit configured to notify thesupporting apparatus of the relay information allocated by the relayserver according to the request from the request unit; and acommunication unit configured to perform communication with thesupporting apparatus via the relay server using the relay information,so that the supported apparatus is provided with the remote support bythe supporting apparatus.
 9. The supported apparatus according to claim8, wherein the relay information is an URL designated when a requestusing an HTTP is transmitted.
 10. The supported apparatus according toclaim 9, wherein the communication unit transmits a GET requestincluding the designated URL and receives data transmitted from thesupporting apparatus to the relay server as a response to the GETresponse.
 11. The supported apparatus according to claim 9, wherein thecommunication unit transmits a POST request including the designated URLto the relay server.
 12. A control method for a supported apparatuscapable of receiving remote support from a supporting apparatus, thecontrol method comprising: receiving a remote support service startrequest from a user; requesting a relay server to allocate relayinformation for performing communication via the relay server accordingto the remote support service start request having been received;notifying the supporting apparatus of the relay information allocated bythe relay server according to the request; and performing communicationwith the supporting apparatus via the relay server using the relayinformation, so that the supported apparatus is provided with the remotesupport by the supporting apparatus.
 13. A non-transitorycomputer-readable storage medium that stores a program for causing acomputer to execute a control method for a supported apparatus capableof receiving remote support from a supporting apparatus, the controlmethod comprising; requesting a relay server to allocate relayinformation for performing communication via the relay server accordingto the remote support service start request having been received from auser; notifying the supporting apparatus of the relay informationallocated by the relay server according to the request; and performingcommunication with the supporting apparatus via the relay server usingthe relay information, so that the supported apparatus is provided withthe remote support by the supporting apparatus.